#pragma once
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<stdbool.h>
typedef int SLNDataType;
typedef struct ListNode
{
	SLNDataType data;
	struct ListNode* next;
	struct ListNode* prev;
}SLN;
//申请节点
SLN* SLNBuyNode(SLNDataType x);
//初始化
void SLNInit(SLN** pphead);
//打印
void SLNPrint(SLN* phead);
//判空
bool SLNEmpty(SLN* phead);
//查找
SLN* SLNFind(SLN* phead,SLNDataType x);
//尾插
void SLNPushBack(SLN* phead, SLNDataType x);
//头插
void SLNPushFront(SLN* phead, SLNDataType x);
//尾删
void SLNPopBack(SLN* phead);
//头删
void SLNPopFront(SLN* phead);
//指定pos位置之后插入结点
void SLNInsert(SLN* pos, SLNDataType x);
//删除pos位置的结点
void SLNErase(SLN* pos);
//销毁
void SLNDestroy(SLN** pphead);
